home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / Programming / AllPlaton / Unsorted / MännchenMetzel.AMOS / MännchenMetzel.amosSourceCode < prev    next >
Encoding:
AMOS Source Code  |  1993-08-10  |  2.1 KB  |  71 lines

  1. Screen Open 0,320,256,16,0
  2. 'Load Iff "bobs.iff",0 
  3. Cls 0
  4. Get Sprite Palette 
  5. Double Buffer 
  6. Dim F(30,5),A(7,3),B(30),S(7,4)
  7. ' 0=X Koordinate 
  8. ' 1=Y Koordinate 
  9. ' 2=Actual Frame 
  10. ' 3=Direction  
  11. ' 4=Status 
  12. ' 5=Target 
  13. For A=0 To 7
  14.   Read A(A,0),A(A,1),A(A,2),A(A,3)
  15. Next 
  16. For A=0 To 9
  17.   F(A,0)=Rnd(50)
  18.   F(A,1)=Rnd(220)
  19.   F(A,4)=0
  20.   F(A,5)=10
  21. Next 
  22. For A=10 To 19
  23.   F(A,0)=Rnd(50)+280
  24.   F(A,1)=Rnd(220)
  25.   F(A,4)=1
  26.   F(A,5)=0
  27. Next 
  28. Auto View Off 
  29. Screen Swap 
  30. Palette 4095
  31. For A=16 To 31 : Colour A,0 : Next 
  32. Do 
  33.   For A=0 To 9
  34.     X=F(B+10,0)-F(A,0) : Y=F(B+10,1)-F(A,1) : D=(Abs(X)+Abs(Y))/2
  35.     X=F(F(A,5),0)-F(A,0) : Y=F(F(A,5),1)-F(A,1)
  36.     If D<(Abs(X)+Abs(Y))/2 and B(B+10)=0 Then B(F(A,5))=0 : F(A,5)=B+10 : B(B+10)=1
  37.     SX=Sgn(X) : SY=Sgn(Y) : If Abs(X)<18 and Abs(Y)<18 and F(A,4)=0 Then Add S,1,0 To 7 : S(S,2)=SX*5 : S(S,3)=SY*5 : F(A,4)=3 : SX=0 : SY=0
  38.     Gosub BER
  39.     F=A(F(A,3),F(A,2))+16
  40.     If F(A,4)=3 Then F(A,4)=5 : F=A(F(A,3),F(A,2)) : Shoot : S(S,0)=F(A,0) : S(S,1)=F(A,1) : S(S,4)=10
  41.     Bob A,F(A,0),F(A,1),F
  42.   Next 
  43.   Add B,1,0 To 9
  44.   For A=10 To 19
  45.     X=F(B,0)-F(A,0) : Y=F(B,1)-F(A,1) : D=(Abs(X)+Abs(Y))/2
  46.     X=F(F(A,5),0)-F(A,0) : Y=F(F(A,5),1)-F(A,1)
  47.     If D<(Abs(X)+Abs(Y))/2 and B(B)=0 Then B(F(A,5))=0 : F(A,5)=B : B(B)=1
  48.     SX=Sgn(X) : SY=Sgn(Y) : If Abs(X)<18 and Abs(Y)<18 and F(A,4)=1 Then Add S,1,0 To 7 : S(S,2)=SX*5 : S(S,3)=SY*5 : F(A,4)=3 : SX=0 : SY=0
  49.     Gosub BER
  50.     F=A(F(A,3),F(A,2))+16
  51.     If F(A,4)=3 Then F(A,4)=5 : F=A(F(A,3),F(A,2)) : Shoot : S(S,0)=F(A,0) : S(S,1)=F(A,1) : S(S,4)=70
  52.     Bob A,F(A,0),F(A,1),F+67
  53.   Next 
  54.   For A=0 To 7
  55.     If S(A,4)>0 Then Add S(A,0),S(A,2) : Add S(A,1),S(A,3) : Dec S(A,4) : Sprite A,S(A,0)+132,S(A,1)+44,137 Else Sprite Off A
  56.   Next 
  57. Loop 
  58. BER:
  59.   If SX=0 and SY=0 Then F(A,2)=0 : Return 
  60.   If SX=-1 and SY=0 Then D=0
  61.   If SX=1 and SY=0 Then D=1
  62.   If SX=0 and SY=-1 Then D=2
  63.   If SX=0 and SY=1 Then D=3
  64.   If SX=-1 and SY=-1 Then D=4
  65.   If SX=1 and SY=-1 Then D=5
  66.   If SX=-1 and SY=1 Then D=6
  67.   If SX=1 and SY=1 Then D=7
  68.   F(A,3)=D : Add F(A,2),1,0 To 3 : F(A,0)=F(A,0)+SX : F(A,1)=F(A,1)+SY
  69. Return 
  70. Data 4,5,4,6,3,2,3,1,7,8,7,9,12,11,12,10
  71. Data 15,15,15,15,16,16,16,16,14,14,14,14,13,13,13,13